From: Carlos Garnacho Date: Wed, 14 Sep 2022 18:20:14 +0000 (+0200) Subject: status: Use fixed sorting of input sources on empty MRU X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~435^2^2~50 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=13c9fd2a668e137b9e2569dcdedb0a25b95ae9aa;p=gnome-shell.git status: Use fixed sorting of input sources on empty MRU When updating the MRU sources if there was no prior MRU, we want to go with the unmodified list of sources in visibility order. However iterating over object properties happens in an undetermined order, so the initial MRU list ends up picking a value at random. In order to prefer the sources list in the same order than they appear in the menu if there was no prior MRU, order the keys when accessing it and building the initial list of sources. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5873 Part-of: --- diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js index 76a42f6bd..65b396273 100644 --- a/js/ui/status/keyboard.js +++ b/js/ui/status/keyboard.js @@ -492,7 +492,7 @@ var InputSourceManager = class extends Signals.EventEmitter { _updateMruSources() { let sourcesList = []; - for (let i in this._inputSources) + for (let i of Object.keys(this._inputSources).sort((a, b) => a - b)) sourcesList.push(this._inputSources[i]); this._keyboardManager.setUserLayouts(sourcesList.map(x => x.xkbId));